In the standard Internet topology, a client requests a web page from a server, whereupon the server downloads the web page to the client. The browser of the client then renders the web page. As web pages have become more complex, this process has become more complicated than just a simple single request and response. Rather a single web page might be loaded in response to many requests issued by the client.
The loading of complex web pages are initiated by the client which requests the main web page that acts as a page template. Then, the browser requests further components that may be used to populate the page template. Such components may be images, sound files, embedded content, script files that are used to generate dynamic content, and the like. In general, the response to the main web page spawns one or more follow-up requests. The response to each of these requests may spawn zero, one, or more follow-up requests. This continues until there are no further requests to be made because the page template is fully downloaded. For complex web pages, it can take a significant number of requests before all of the components of the page are loaded.
An important performance parameter for web pages is the page load time, which is the amount of time it takes from the time that the client makes the initial request for a web page to the time that the client's browser finally renders all of the web page. For complex web pages, the page load time can be noticeable to the user of the client due to the large number of requests used to obtain the page. If the load time is great enough, the user might even consider the web page to load slowly. Accordingly, the faster the load time, the more responsive and accessible the web page seems.